package com.ruoyi.buss.customer.domain;

import com.ruoyi.buss.grid.carInfo.domain.CarInfo;
import com.ruoyi.buss.grid.cj.domain.DataWgWgcj;
import com.ruoyi.buss.grid.sh.domain.DataGtgsh;
import com.ruoyi.buss.grid.sq.domain.DataWgWgsq;
import com.ruoyi.buss.grid.zysc.domain.DataWgZyscKh;
import com.ruoyi.buss.group.domain.DataCustomerGroup;
import com.ruoyi.buss.group.domain.DataCustomerGroupRelation;
import com.ruoyi.buss.qmcy.domain.*;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * 客户信息对象 DATA_CUSTOMER_INFO
 * 
 * @author ruoyi
 * @date 2021-07-16
 */
public class DataCustomerInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    @Excel(name = "id")
    @ApiModelProperty("id")
    private String id;

    private String hjbh;
    /** 姓名 */
    @Excel(name = "姓名")
    @NotBlank(message = "客户名称不能为空")
    @ApiModelProperty("姓名")
    private String name;

    /** 性别(0女，1男) */
    @Excel(name = "性别(0女，1男)")
    @ApiModelProperty("性别(0女，1男)")
    private String sex;

    /** 年龄 */
    @Excel(name = "年龄")
    @ApiModelProperty("年龄")
    private int age;

    /** 身份证号 */
    @Excel(name = "身份证号")
    @NotBlank(message = "客户身份证号不能为空")
    @ApiModelProperty("身份证号")
    private String idCard;

    /** 配偶姓名 */
    @Excel(name = "配偶姓名")
    @ApiModelProperty("配偶姓名")
    private String spouseName;

    /** 联系电话 */
    @Excel(name = "联系电话")
    @ApiModelProperty("联系电话")
    private String phone;

    /** 地址 */
    @Excel(name = "地址")
    @ApiModelProperty("地址")
    private String address;

    /** 婚姻情况 */
    @Excel(name = "机构ID")
    @ApiModelProperty("机构ID")
    private String maritalStatus;

    /** 客户类型 */
    @ApiModelProperty("客户类型")
    @Excel(name = "客户类型")
//    @NotBlank(message = "客户类型不能为空")
    private String customerType;

    /** 客户等级：0普通客户 1白银客户 2黄金客户 3铂金客户 4钻石客户 */
    @ApiModelProperty("客户等级：0普通客户 1白银客户 2黄金客户 3铂金客户 4钻石客户")
    @Excel(name = "客户等级：0普通客户 1白银客户 2黄金客户 3铂金客户 4钻石客户")
    private String customerLevel;

    /** 积分 */
    @ApiModelProperty("积分")
    @Excel(name = "积分")
    private String points;

    /** 状态(1有效，0无效) */
    @ApiModelProperty("状态(1有效，0无效)")
    @Excel(name = "状态(1有效，0无效)")
    private String status;

    /** 逻辑经度 */
    @ApiModelProperty("逻辑经度")
    @Excel(name = "逻辑经度")
    private String luojiJingdu;

    /** 逻辑纬度 */
    @ApiModelProperty("逻辑纬度")
    @Excel(name = "逻辑纬度")
    private String luojiWeidu;

    /** 真实经度 */
    @ApiModelProperty("真实经度")
    @Excel(name = "真实经度")
    private String zhenshiJingdu;

    /** 真实纬度 */
    @ApiModelProperty("真实纬度")
    @Excel(name = "真实纬度")
    private String zhenshiWeidu;

    /** 地图展示图片 */
    @ApiModelProperty("地图展示图片")
    @Excel(name = "地图展示图片")
    private String mapPic;

    /** 是否分配客户经理（1是，0未分配） */
    @ApiModelProperty("是否分配客户经理")
    @Excel(name = "是否分配客户经理", readConverterExp = "1=是，0未分配")
    private String ifFenpei;

    /** 是否是公共池客户  0否 1是 */
    @ApiModelProperty("是否是公共池客户  0否 1是")
    @Excel(name = "是否是公共池客户  0否 1是")
    private String isPublic;

    /** 客户等级：0普通客户 1白银客户 2黄金客户 3铂金客户 4钻石客户 */
    @ApiModelProperty("客户等级：0普通客户 1白银客户 2黄金客户 3铂金客户 4钻石客户")
    @Excel(name = "客户等级：0普通客户 1白银客户 2黄金客户 3铂金客户 4钻石客户")
    private String customerLevelZh;

    /** 所属机构ID */
    @ApiModelProperty("所属机构ID")
    @Excel(name = "所属机构ID")
    private String orgId;

    /** 所属机构 */
    @ApiModelProperty("所属机构")
    @Excel(name = "所属机构")
    private String orgName;

    /** 信贷系统ID */
    @ApiModelProperty("信贷系统ID")
    @Excel(name = "信贷系统ID")
    private String managerId;

    /** 工号 */
    @ApiModelProperty("工号")
    @Excel(name = "工号")
    private String userId;

    /** 客户经理 */
    @ApiModelProperty("客户经理")
    @Excel(name = "客户经理")
    private String userName;

    /** 务工地点 */
    @ApiModelProperty("务工地点")
    @Excel(name = "务工地点")
    private String  workAddress;
    /** 海量点颜色 #FFB6C1 */
    @ApiModelProperty("海量点颜色")
    @Excel(name = "海量点颜色 #FFB6C1")
    private String color;

    /** 生日（MMdd） */
    @ApiModelProperty("生日")
    @Excel(name = "生日", readConverterExp = "M=Mdd")
    private String birthday;

    /** $column.columnComment */
    @ApiModelProperty("创建用户")
    @Excel(name = "创建用户")
    private String createUser;

    /** $column.columnComment */
    @ApiModelProperty("更新用户")
    @Excel(name = "更新用户")
    private String updateUser;

    /** 用于展示的身份证号码 */
    @ApiModelProperty("用于展示的身份证号码")
    @Excel(name = "用于展示的身份证号码")
    private String idCardShow;

    /** 扩展客户 */
    @ApiModelProperty("扩展客户")
    @Excel(name = "扩展客户")
    private String isExpand;

    private String avatar;
    /** 与户主关系 1户主 2配偶 3.父母 4子女  5其它 */
    @ApiModelProperty("与户主关系 1户主 2配偶 3.父母 4子女  5其它")
    private String yhzgx;

    /** 工种 */
    @Excel(name = "工种 ")
    private String typeOfWork;

    /** 收入 */
    @Excel(name = "收入")
    private double income;
    /**
     * 0存量  1新增
     */
    private String ifStock;

    /**产品标签*/
    private List<QmcyCustPersonalInfo> proLabel;

    /**群体标签*/
    @NotNull(message ="客群标签不能为空")
    DataCustomerGroupRelation groupLabel;

    /**头像*/
    @ApiModelProperty("机构ID")
    private String headPic;

    // 村居
    private List<DataWgWgcj> dataWgWgcj;
    // 社区
    private List<DataWgWgsq> dataWgWgsq;
    // 商户
    private List<DataGtgsh> dataGtgsh;

    private List<DataWgZyscKh> dataWgZyscKh;

    private List<CarInfo> carInfoList;

    /**家庭成员*/
    List<DataWgJtcy> jtcyList;
    /**
     *  是否个体工商户 0否1是
     */
    private String ifGtgsh;
    /**
     *  是否个体工商户 0否1是
     */
    private String ifWgcj;
    /**
     *  是否个体工商户 0否1是
     */
    private String ifWgsq;

    public DataCustomerGroupRelation getGroupLabel() {
        return groupLabel;
    }

    public void setGroupLabel(DataCustomerGroupRelation groupLabel) {
        this.groupLabel = groupLabel;
    }

    public String getIfWgcj() {
        return ifWgcj;
    }

    public void setIfWgcj(String ifWgcj) {
        this.ifWgcj = ifWgcj;
    }

    public String getIfWgsq() {
        return ifWgsq;
    }

    public void setIfWgsq(String ifWgsq) {
        this.ifWgsq = ifWgsq;
    }

    /**存款业务*/
    private List<QmcyCustCksd> qmcyCustCksd;

    /**理财业务*/
    private List<QmcyCustLicaiSaleinfo> qmcyCustLicaiSaleinfo;

    /**贷款业务*/
    private List<QmcyCustDkmx> qmcyCustDkmx;

    /**信用卡业务*/
    private List<QmcyXykInfo> qmcyXykInfo;

    /**合同业务*/
    private List<QmcyCustHtmx> qmcyHtmxInfo;

    /**客户类型 0普通客户  1商户  2村居 3社区*/
    @ApiModelProperty("客户类型 0普通客户  1商户  2村居 3社区")
    private String khlx;

    private String labour;
    
    private String hzxm;

    /**
     * 联网核查图片url
     * @return
     */
    private String netIdCardUrl;

    private String netIdCardMsg;

    public String getNetIdCardUrl() {
        return netIdCardUrl;
    }

    public void setNetIdCardUrl(String netIdCardUrl) {
        this.netIdCardUrl = netIdCardUrl;
    }

    public String getNetIdCardMsg() {
        return netIdCardMsg;
    }

    public void setNetIdCardMsg(String netIdCardMsg) {
        this.netIdCardMsg = netIdCardMsg;
    }

    public String getLabour() {
		return labour;
	}

	public void setLabour(String labour) {
		this.labour = labour;
	}

	public String getYhzgx() {
        return yhzgx;
    }

    public void setYhzgx(String yhzgx) {
        this.yhzgx = yhzgx;
    }

    public String getKhlx() {
        return khlx;
    }

    public void setKhlx(String khlx) {
        this.khlx = khlx;
    }

    public List<QmcyCustCksd> getQmcyCustCksd() {
        return qmcyCustCksd;
    }

    public void setQmcyCustCksd(List<QmcyCustCksd> qmcyCustCksd) {
        this.qmcyCustCksd = qmcyCustCksd;
    }

    public List<QmcyCustLicaiSaleinfo> getQmcyCustLicaiSaleinfo() {
        return qmcyCustLicaiSaleinfo;
    }

    public void setQmcyCustLicaiSaleinfo(List<QmcyCustLicaiSaleinfo> qmcyCustLicaiSaleinfo) {
        this.qmcyCustLicaiSaleinfo = qmcyCustLicaiSaleinfo;
    }

    public List<CarInfo> getCarInfoList() {
        return carInfoList;
    }

    public void setCarInfoList(List<CarInfo> carInfoList) {
        this.carInfoList = carInfoList;
    }

    public String getAvatar() {
        return avatar;
    }

    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }

    public String getIfStock() {
        return ifStock;
    }

    public void setIfStock(String ifStock) {
        this.ifStock = ifStock;
    }

    public String getIfGtgsh() {
        return ifGtgsh;
    }

    public void setIfGtgsh(String ifGtgsh) {
        this.ifGtgsh = ifGtgsh;
    }

    public String getHjbh() {
        return hjbh;
    }

    public void setHjbh(String hjbh) {
        this.hjbh = hjbh;
    }

    public String getHzxm() {
        return hzxm;
    }

    public void setHzxm(String hzxm) {
        this.hzxm = hzxm;
    }

    public List<QmcyCustDkmx> getQmcyCustDkmx() {
        return qmcyCustDkmx;
    }

    public void setQmcyCustDkmx(List<QmcyCustDkmx> qmcyCustDkmx) {
        this.qmcyCustDkmx = qmcyCustDkmx;
    }

    public List<QmcyXykInfo> getQmcyXykInfo() {
        return qmcyXykInfo;
    }

    public void setQmcyXykInfo(List<QmcyXykInfo> qmcyXykInfo) {
        this.qmcyXykInfo = qmcyXykInfo;
    }

    public List<DataWgJtcy> getJtcyList() {
        return jtcyList;
    }

    public void setJtcyList(List<DataWgJtcy> jtcyList) {
        this.jtcyList = jtcyList;
    }

    public List<QmcyCustHtmx> getQmcyHtmxInfo() {
        return qmcyHtmxInfo;
    }

    public void setQmcyHtmxInfo(List<QmcyCustHtmx> qmcyHtmxInfo) {
        this.qmcyHtmxInfo = qmcyHtmxInfo;
    }

    public List<DataWgWgcj> getDataWgWgcj() {
        return dataWgWgcj;
    }

    public void setDataWgWgcj(List<DataWgWgcj> dataWgWgcj) {
        this.dataWgWgcj = dataWgWgcj;
    }

    public List<DataWgWgsq> getDataWgWgsq() {
        return dataWgWgsq;
    }

    public void setDataWgWgsq(List<DataWgWgsq> dataWgWgsq) {
        this.dataWgWgsq = dataWgWgsq;
    }

    public List<DataGtgsh> getDataGtgsh() {
        return dataGtgsh;
    }

    public List<DataWgZyscKh> getDataWgZyscKh() {
        return dataWgZyscKh;
    }

    public void setDataWgZyscKh(List<DataWgZyscKh> dataWgZyscKh) {
        this.dataWgZyscKh = dataWgZyscKh;
    }

    public void setDataGtgsh(List<DataGtgsh> dataGtgsh) {
        this.dataGtgsh = dataGtgsh;
    }

    public String getHeadPic() {
        return headPic;
    }

    public String getOrgName() {
        return orgName;
    }

    public void setOrgName(String orgName) {
        this.orgName = orgName;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public void setHeadPic(String headPic) {
        //默认返回头像
        if ("0".equals(this.sex)) {
            this.headPic = "WOMAN" ;
        } else {
            this.headPic ="MAN" ;
        }
    }

    public String getWorkAddress() {
        return workAddress;
    }

    public void setWorkAddress(String workAddress) {
        this.workAddress = workAddress;
    }

    public List<QmcyCustPersonalInfo> getProLabel() {
        return proLabel;
    }

    public void setProLabel(List<QmcyCustPersonalInfo> proLabel) {
        this.proLabel = proLabel;
    }

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setSex(String sex) 
    {
        this.sex = sex;
    }

    public String getSex() 
    {
        return sex;
    }
    public void setAge(int age)
    {
        this.age = age;
    }

    public int getAge()
    {
        return age;
    }
    public void setIdCard(String idCard) 
    {
        this.idCard = idCard;
    }

    public String getIdCard() 
    {
        return idCard;
    }
    public void setSpouseName(String spouseName) 
    {
        this.spouseName = spouseName;
    }

    public String getSpouseName() 
    {
        return spouseName;
    }
    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }
    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }
    public void setMaritalStatus(String maritalStatus) 
    {
        this.maritalStatus = maritalStatus;
    }

    public String getMaritalStatus() 
    {
        return maritalStatus;
    }
    public void setCustomerType(String customerType) 
    {
        this.customerType = customerType;
    }

    public String getCustomerType() 
    {
        return customerType;
    }
    public void setCustomerLevel(String customerLevel) 
    {
        this.customerLevel = customerLevel;
    }

    public String getCustomerLevel() 
    {
        return customerLevel;
    }
    public void setPoints(String points) 
    {
        this.points = points;
    }

    public String getPoints() 
    {
        return points;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setLuojiJingdu(String luojiJingdu) 
    {
        this.luojiJingdu = luojiJingdu;
    }

    public String getLuojiJingdu() 
    {
        return luojiJingdu;
    }
    public void setLuojiWeidu(String luojiWeidu) 
    {
        this.luojiWeidu = luojiWeidu;
    }

    public String getLuojiWeidu() 
    {
        return luojiWeidu;
    }
    public void setZhenshiJingdu(String zhenshiJingdu) 
    {
        this.zhenshiJingdu = zhenshiJingdu;
    }

    public String getZhenshiJingdu() 
    {
        return zhenshiJingdu;
    }
    public void setZhenshiWeidu(String zhenshiWeidu) 
    {
        this.zhenshiWeidu = zhenshiWeidu;
    }

    public String getZhenshiWeidu() 
    {
        return zhenshiWeidu;
    }
    public void setMapPic(String mapPic) 
    {
        this.mapPic = mapPic;
    }

    public String getMapPic() 
    {
        return mapPic;
    }
    public void setIfFenpei(String ifFenpei) 
    {
        this.ifFenpei = ifFenpei;
    }

    public String getIfFenpei() 
    {
        return ifFenpei;
    }
    public void setIsPublic(String isPublic) 
    {
        this.isPublic = isPublic;
    }

    public String getIsPublic() 
    {
        return isPublic;
    }
    public void setCustomerLevelZh(String customerLevelZh) 
    {
        this.customerLevelZh = customerLevelZh;
    }

    public String getCustomerLevelZh() 
    {
        return customerLevelZh;
    }
    @Override
    public void setOrgId(String orgId) 
    {
        this.orgId = orgId;
    }
    @Override
    public String getOrgId() 
    {
        return orgId;
    }
    public void setManagerId(String managerId) 
    {
        this.managerId = managerId;
    }

    public String getManagerId() 
    {
        return managerId;
    }
    public void setUserId(String userId) 
    {
        this.userId = userId;
    }

    public String getUserId() 
    {
        return userId;
    }
    public void setColor(String color) 
    {
        this.color = color;
    }

    public String getColor() 
    {
        return color;
    }
    public void setBirthday(String birthday) 
    {
        this.birthday = birthday;
    }

    public String getBirthday() 
    {
        return birthday;
    }
    public void setCreateUser(String createUser) 
    {
        this.createUser = createUser;
    }

    public String getCreateUser() 
    {
        return createUser;
    }
    public void setUpdateUser(String updateUser) 
    {
        this.updateUser = updateUser;
    }

    public String getUpdateUser() 
    {
        return updateUser;
    }
    public void setIdCardShow(String idCardShow) 
    {
        this.idCardShow = idCardShow;
    }

    public String getIdCardShow() 
    {
        return idCardShow;
    }
    public void setIsExpand(String isExpand) 
    {
        this.isExpand = isExpand;
    }

    public String getIsExpand() 
    {
        return isExpand;
    }


    public String getTypeOfWork() {
        return typeOfWork;
    }

    public void setTypeOfWork(String typeOfWork) {
        this.typeOfWork = typeOfWork;
    }

    public double getIncome() {
        return income;
    }

    public void setIncome(double income) {
        this.income = income;
    }

    @Override
    public String toString() {
        return "DataCustomerInfo{" +
                "id='" + id + '\'' +
                ", hjbh='" + hjbh + '\'' +
                ", name='" + name + '\'' +
                ", sex='" + sex + '\'' +
                ", age=" + age +
                ", idCard='" + idCard + '\'' +
                ", spouseName='" + spouseName + '\'' +
                ", phone='" + phone + '\'' +
                ", address='" + address + '\'' +
                ", maritalStatus='" + maritalStatus + '\'' +
                ", customerType='" + customerType + '\'' +
                ", customerLevel='" + customerLevel + '\'' +
                ", points='" + points + '\'' +
                ", status='" + status + '\'' +
                ", luojiJingdu='" + luojiJingdu + '\'' +
                ", luojiWeidu='" + luojiWeidu + '\'' +
                ", zhenshiJingdu='" + zhenshiJingdu + '\'' +
                ", zhenshiWeidu='" + zhenshiWeidu + '\'' +
                ", mapPic='" + mapPic + '\'' +
                ", ifFenpei='" + ifFenpei + '\'' +
                ", isPublic='" + isPublic + '\'' +
                ", customerLevelZh='" + customerLevelZh + '\'' +
                ", orgId='" + orgId + '\'' +
                ", orgName='" + orgName + '\'' +
                ", managerId='" + managerId + '\'' +
                ", userId='" + userId + '\'' +
                ", userName='" + userName + '\'' +
                ", workAddress='" + workAddress + '\'' +
                ", color='" + color + '\'' +
                ", birthday='" + birthday + '\'' +
                ", createUser='" + createUser + '\'' +
                ", updateUser='" + updateUser + '\'' +
                ", idCardShow='" + idCardShow + '\'' +
                ", isExpand='" + isExpand + '\'' +
                ", avatar='" + avatar + '\'' +
                ", yhzgx='" + yhzgx + '\'' +
                ", typeOfWork='" + typeOfWork + '\'' +
                ", income='" + income + '\'' +
                ", ifStock='" + ifStock + '\'' +
                ", proLabel=" + proLabel +
                ", groupLabel=" + groupLabel +
                ", headPic='" + headPic + '\'' +
                ", dataWgWgcj=" + dataWgWgcj +
                ", dataWgWgsq=" + dataWgWgsq +
                ", dataGtgsh=" + dataGtgsh +
                ", dataWgZyscKh=" + dataWgZyscKh +
                ", carInfoList=" + carInfoList +
                ", jtcyList=" + jtcyList +
                ", ifGtgsh='" + ifGtgsh + '\'' +
                ", ifWgcj='" + ifWgcj + '\'' +
                ", ifWgsq='" + ifWgsq + '\'' +
                ", qmcyCustCksd=" + qmcyCustCksd +
                ", qmcyCustLicaiSaleinfo=" + qmcyCustLicaiSaleinfo +
                ", qmcyCustDkmx=" + qmcyCustDkmx +
                ", qmcyXykInfo=" + qmcyXykInfo +
                ", qmcyHtmxInfo=" + qmcyHtmxInfo +
                ", khlx='" + khlx + '\'' +
                ", labour='" + labour + '\'' +
                ", hzxm='" + hzxm + '\'' +
                '}';
    }
}
